#ifndef CAMPO_H_
#define CAMPO_H_

#include "Cultivo.h"
#include "Parcela.h"
#include "ParserXML.h"
#include <iostream>
#include <string>
#include <vector>
#include <fstream>

#define ANCHO 20
#define LARGO 15
class Campo
{
	private:
		int matrizPonderacion[ANCHO][LARGO];
		int campoTipos [ANCHO][LARGO];
		Parcela parcelas[ANCHO][LARGO];
	    std::ifstream  archivo;
	public:
		   Campo();
	    ~Campo();
	     /*Carga el campo desde un archivo*/
		 int cargarCampo(std::string nombreArchivo);
	     /*Copia el CampoTipos en m*/
	 	 void copiarCampo(int m[ANCHO][LARGO]);
	     /*Actualiza el estado del campo, segun el factor y las variables obtenidas*/
		 void actualizar(std::string factor,std::vector<tAtribVariables> vector,int dias);
	     /*devuelve los valores de creciento*/
	     void  devolverValoresCrecimiento( int m[ANCHO][LARGO]);
		/*devuelve los valores de degradacion*/
	     void  devolverValoresDegradacion( int d[ANCHO][LARGO]);
	     /*Actualiza la matriz de ponderacion*/
	     void actualizarMatrizPonderacion(std::vector<tAtribVariables> vector);
	     /*Pondera la matriz de crecimiento*/
	     void ponderar();	 
	     /*Resetea la matriz de ponderacion */
	     void resetMatrizPonderacion();
	 	/*reinicia el campos*/
	    void reiniciar();
			
};

#endif /*CAMPO_H_*/
